package com.integral.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.integral.entity.BankType;
import com.integral.vo.BankTypeVo;

/**
 * @Description: 银行产品信息表DAO接口类
 * @author zhaofan
 * @date 2018年05月08日 上午01:20:27
 */
@Repository("bankTypeDao")
public interface IBankTypeDao {
	
	/**
	 * @Description: 新增银行产品信息表
	 * @param bankType 银行产品信息表
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int addBankType(BankType bankType);
	
	/**
	 * @Description: 修改银行产品信息表
	 * @param bankType 银行产品信息表
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int updateById(BankType bankType);
	
	/**
	 * @Description: 删除银行产品信息表
	 * @param id 主键
	 * @return 受影响行数
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public int deleteById(Long id);
	
	/**
	 * @Description: 根据ID查询银行产品信息表
	 * @param id 主键
	 * @return 银行产品信息表
	 * @author zhaofan
	 * @date 2018年05月08日 上午01:20:27
	 */
	public BankType findById(Long id);
	
	/**
	 * 查询银行产品信息总记录数
	 * @param bankTypeVo
	 * @return
	 */
	public Long findBankTypeCount(BankTypeVo bankTypeVo);
	/**
	 * 查询银行产品信息列表
	 * @param bankTypeVo
	 * @return
	 */
	public List<BankTypeVo> findBankType(BankTypeVo bankTypeVo);
	/**
	 * 根据银行产品编码查询
	 * @param bankTypeCode
	 * @return
	 */
	public BankType findByBankTypeCode(String bankTypeCode);
	
	/**
	 * 查询银行产品
	 * @param bankTypeVo
	 * @return
	 */
	public BankType findByBankType(BankTypeVo bankTypeVo);
	/**
	 * 根据银行编码查询兑换金额最小的银行产品
	 * @param bankTypeVo
	 * @return
	 */
	public BankType findBankTypeByBankCode(BankTypeVo bankTypeVo);
}